﻿using System;
using System.Configuration;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace KasaTakip
{
    public enum HareketTip
    {
        TransferGiris = 0,
        TransferCikis = 1,
        BankayaGonderim = 2
    }

    public partial class frmMagazaGonderim : XtraForm
    {
        private int MagazaNo = Program.AktifDepoNo;
        public DateTime IslemTarihi { get; set; }

        public frmMagazaGonderim()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void frmMagazaGonderim_Load(object sender, EventArgs e)
        {
            using (KasaEntity ent = new KasaEntity())
            {
                var devir = ent.Kapanislar.Where(x => x.Tarih == IslemTarihi && x.MagazaNo == MagazaNo).FirstOrDefault();
                if (devir != null)
                {
                    button1.Enabled = false;
                    this.Text = "Günün kapanışı yapılmış !";
                }
            }

            cmbParaBirimi.Items.Add("TL");
            cmbParaBirimi.Items.Add("USD");
            cmbParaBirimi.Items.Add("EURO");
            cmbParaBirimi.SelectedIndex = 0;

            this.Icon = Properties.Resources.ikon;
            using (KasaEntity ent = new KasaEntity())
            {
                cmbMagaza.Items.AddRange(ent.Magazalar.Where(x => x.MagazaNo != MagazaNo).ToArray());
                if (cmbMagaza.Items.Count > 0)
                    cmbMagaza.SelectedIndex = 0;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult rs = MessageBox.Show("Yazdığınız tutarı kendi şubenizden çıkarıp diğer şubeye gönderimi yapılacaktır.\r\nBu işlem düzeltilemez!\r\nkaydetmek istediğinize eminmisiniz ?", "Uyarı", MessageBoxButtons.YesNo);
            if (rs == System.Windows.Forms.DialogResult.No)
            {
                return;
            }
            if (cmbMagaza.SelectedIndex > -1)
            {
                using (KasaEntity ent = new KasaEntity())
                {
                    Magaza mg = (Magaza)cmbMagaza.SelectedItem;

                    MagazaHareket hr = new MagazaHareket();
                    hr.MagazaNo = MagazaNo;
                    hr.Tip = (byte)HareketTip.TransferCikis;
                    hr.Tarih = IslemTarihi.ToSmallDate();
                    hr.Tutar = Cevir.Parse<double>(txtTutar.Text);
                    hr.DovizCinsi = (byte)cmbParaBirimi.SelectedIndex;

                    ent.AddToMagazaHareketleri(hr);

                    hr = new MagazaHareket();
                    hr.MagazaNo = mg.MagazaNo;
                    hr.Tip = (byte)HareketTip.TransferGiris;
                    hr.Tarih = IslemTarihi.ToSmallDate();
                    hr.Tutar = Cevir.Parse<double>(txtTutar.Text);
                    hr.DovizCinsi = (byte)cmbParaBirimi.SelectedIndex;

                    ent.AddToMagazaHareketleri(hr);

                    ent.SaveChanges();

                    MessageBox.Show("Kaydedildi !");
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Şube Seçin !");
            }
        }
    }
}
